package hook

import (
	"api/config"
	"api/libs/register"
	"context"
	"gitee.com/dreamwood/ez"
	"gitee.com/dreamwood/ez/task"
)

func init() {
	ez.On("BeforeServerRun", func(v interface{}, ctx context.Context) {
		ez.Debug("连接Mysql")
		config.InitMysql()
		ez.Debug("连接MongoDb")
		config.InitMongoDb()
		ez.Debug("连接Redis")
		config.InitRedis()
	})

	ez.On("AfterServerRun", func(v interface{}, ctx context.Context) {
		ez.Debug("服务已启动")
		//更新端口
		config.GetCore().ServerPort = ez.S.Port

		//启动定时任务
		ez.Debug("开始启动定时任务")
		task.Start()

		//执行服务信息注册
		ez.Debug("开始注册服务信息")
		register.RegService()

		//执行页面注册
		ez.Debug("开始执行页面注册")
		register.CreatePageConfigFile()
		register.RegPages()

		//执行模块注册
		ez.Debug("开始执行页面注册")
		register.CreateModelConfigFile()
		register.RegModels()
	})
}
